From 88d02583974659d1d37d825df78c79bee4c95d0e Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Wed, 27 Apr 2016 17:45:01 -0700 Subject: [PATCH] iconhelper: check if surface was invalidated Fetching the style may cause the surface to be invalidated. --- gtk/gtkiconhelper.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c index b8737e7aa4..7baccb0ae3 100644 --- a/gtk/gtkiconhelper.c +++ b/gtk/gtkiconhelper.c @@ -892,15 +892,21 @@ _gtk_icon_helper_draw (GtkIconHelper *self, gdouble x, gdouble y) { + GtkCssStyle *style; + gtk_icon_helper_ensure_surface (self); + /* + * Get the style first as the rendered surface maybe cleared if the style + * must be recomputed + */ + style = gtk_css_node_get_style (gtk_css_gadget_get_node (GTK_CSS_GADGET (self))); + if (self->priv->rendered_surface != NULL) - { - gtk_css_style_render_icon_surface (gtk_css_node_get_style (gtk_css_gadget_get_node (GTK_CSS_GADGET (self))), - cr, - self->priv->rendered_surface, - x, y); - } + gtk_css_style_render_icon_surface (style, + cr, + self->priv->rendered_surface, + x, y); } gboolean -- 2.30.2